www.gusucode.com > LTE基带收发仿真系统matlab源码程序 > LTE baseband simulation/ofdm_generation.m
function ofdmSymb = ofdm_generation(mapSymbCell,FFT_SIZE,nTx,CP) % OFDM符号生成,附加循环前缀,并完成天线端口数据并串变换 % 输入:mapSymbCell:来自子载波映射后的符号 % FFT_SIZE:FFT变换点数 % nTx:发端天线数 % CP:循环前缀 % 输出:ofdmSymb:生成的ofdm符号 % % Author: 程式小组(徐萌 张妙 张晓庆) % Date: 2010-07-11 % ========================================================== nOfdm = length(CP); % CP为一个子帧中每个OFDM符号上循环前缀长度 ofdmSymb = zeros(nTx,FFT_SIZE*nOfdm+sum(CP)); for iTx = 1:nTx begin = 1; for iOfdm = 1:nOfdm ending = begin+FFT_SIZE+CP(iOfdm)-1; % 当前OFDM符号结束位置 ifftSymb = ifft(mapSymbCell{iTx}(:,iOfdm),FFT_SIZE); % IFFT变换 cpAddSymb = [ifftSymb(end-CP(iOfdm)+1:end);ifftSymb]; % 添加循环前缀 ofdmSymb(iTx,begin:ending) = cpAddSymb(:); % 将每个天线端口上OFDM符号变成串行 begin = ending+1; % 下一个OFDM符号起始位置 end end